package titiritero.vista;

import javax.swing.*;

import titiritero.Dibujable;
import titiritero.MouseClickObservador;
import titiritero.Posicionable;
import titiritero.Punto;
import titiritero.SuperficieDeDibujo;

import java.awt.Graphics;
import java.awt.Point;
import java.awt.Rectangle;

public class Boton implements MouseClickObservador , Dibujable{

	private JButton boton;
	private Posicionable miPosicion;
	protected Rectangle miSuperficie;
    
	//Contructor: El mensaje es la leyenda que lleva el boton 
	//las posiciones "x" e "y" es la posicion donde se encuentra el boton.
	public Boton(String mensaje,int x,int y) {
		boton = new JButton(mensaje);
		miPosicion = new Punto(x,y);
		//Dimensiones predeterminadas del boton
		setDimension(100,40);
		setVisible(true);
	}
    
    public void setDimension(int ancho ,int alto){
    	boton.setBounds(miPosicion.getX(),miPosicion.getY(),ancho,alto);
    	miSuperficie = new Rectangle(miPosicion.getX() +alto/4,miPosicion.getY() + ancho/4,ancho,alto);
    }

	public void dibujar(SuperficieDeDibujo superfice) {
		Graphics grafico = (Graphics)superfice.getBuffer();
		grafico.translate(miPosicion.getX(),miPosicion.getY());
		boton.paint(grafico);
	}

	public Posicionable getPosicionable() {
		return miPosicion;
	}

	public void setPosicionable(Posicionable posicionable) {
		miPosicion = posicionable;
	}
	
	public void setVisible(boolean booleano){
		boton.setVisible(booleano);
	}

	public void MouseClick(int x, int y) {
		if(this.miSuperficie.contains(new Point(x,y))){
			System.exit(0);
		}	
	}
    
}